home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / amigae.june.archive / 000095_crash!kirk.safb.af.mil!BWILLS_Tue, 15 Jun 93 11:49:55 PST.msg < prev    next >
Text File  |  1993-08-31  |  2KB  |  57 lines

  1. Received: by bkhouse.cts.com (V1.16/Amiga)
  2.     id AA00000; Tue, 15 Jun 93 11:49:55 PST
  3. Received: from kirk.safb.af.mil by crash.cts.com with smtp
  4.     (Smail3.1.28.1 #15) id m0o5fmd-0000fvC; Tue, 15 Jun 93 11:30 PDT
  5. Message-Id: <m0o5fmd-0000fvC@crash.cts.com>
  6. Date: 15 Jun 93 13:28:00 CST
  7. From: "Barry D. Wills" <BWILLS@kirk.safb.af.mil>
  8. To: "amigae" <amigae@bkhouse.cts.com>
  9. Subject: re:  Asm.e....I think
  10.  
  11. To nichowlw:
  12.  
  13. Thanks for the info.  I played with it over lunch and here's what I got.
  14. -------------------------------------------------------------------------------
  15. /*==========================*/
  16. /* Sum a table of integers. */
  17. /*==========================*/
  18. PROC main ()
  19.   DEF table : PTR TO INT, sum = 0
  20.  
  21.   table := [2,4,6,8,10] : INT
  22.  
  23. /*
  24.                            /* What's wrong with this? */
  25.         MOVEA.L #table,A0  /* ERROR:  unknown/illegal addressing mode. */
  26. */
  27.         MOVEA.L table,A0  /* WORKS.      */
  28.      /* MOVE.L  table,A0  works as well. */
  29.      /* LEA     table,A0  does not work. */
  30.  
  31.         CLR.L   D0
  32.  
  33.         MOVE.W  0(A0),D0
  34.         ADD.W   2(A0),D0
  35.         ADD.W   4(A0),D0
  36.         ADD.W   6(A0),D0
  37.         ADD.W   8(A0),D0
  38.  
  39.         MOVE.L  D0,sum
  40.  
  41.   WriteF ('sum=\d\n', sum)
  42.  
  43. ENDPROC
  44. -------------------------------------------------------------------------------
  45. Gives the correct answer, too!  I'm ecstatic.  I guess since variable table
  46. *contains* an address, then you want to move the *contents* of table to the 
  47. address register.  LEA gets the address of table, which is not what I want
  48. here.
  49.  
  50. EC doesn't like the # addressing mode, though.  
  51.  
  52. I'm still working on the
  53.           ADD.W   table+2,D0
  54. problem.  Anybody know how to make this work?
  55.  
  56. Later.  -- Barry
  57.